﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Lincolnwood.Foundation.Common.Data
{
    [Serializable]
    public abstract class AuditableEntity<TKey> : EntityBase<TKey>, Lincolnwood.Foundation.Common.Data.IAuditable where TKey : struct
    {
        private DateTime _createdOn;
        private DateTime? _modifiedOn;
        private string _createdBy;
        private string _modifiedBy;

        public DateTime CreatedOn
        {
            get
            {
                return _createdOn;
            }
            set
            {
                _createdOn = value;
            }
        }

        public DateTime? ModifiedOn
        {
            get
            {
                return _modifiedOn;
            }
            set
            {
                _modifiedOn = value;
            }
        }

        public string CreatedBy
        {
            get
            {
                return _createdBy;
            }
            set
            {
                _createdBy = value;
            }
        }

        public string ModifiedBy
        {
            get
            {
                return _modifiedBy;
            }
            set
            {
                _modifiedBy = value;
            }
        }
    }
}
